﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace BattleforgeAssault
{
    public class Unit : Card
    {
        #region Properties

        private int _damageAssigned = 0;
        public int DamageAssigned { get { return Game.GetModified(this, "DamageAssigned", _damageAssigned); } set { _damageAssigned = value; RaisePropertyChanged("DamageAssigned"); } }

        private int _damageTaken = 0;
        public int DamageTaken { get { return Game.GetModified(this, "DamageTaken", _damageTaken); } set { _damageTaken = value; RaisePropertyChanged("DamageTaken"); } }

        private int _power = 0;
        public int Power { get { return Game.GetModified(this, "Power", _power); } set { _power = value; RaisePropertyChanged("Power"); } }

        private int _hitPoints = 0;
        public int HitPoints { get { return Game.GetModified(this, "HitPoints", _hitPoints); } set { _hitPoints = value; RaisePropertyChanged("HitPoints"); } }

        private bool _canAttackAnywhere = false;
        public bool CanAttackAnywhere { get { return _canAttackAnywhere; } set { _canAttackAnywhere = value; RaisePropertyChanged("CanAttackAnywhere"); } }

        private bool _mustAttack = false;
        public bool MustAttack { get { return _mustAttack; } set { _mustAttack = value; RaisePropertyChanged("MustAttack"); } }

        private bool _canDefendAnywhere = false;
        public bool CanDefendAnywhere { get { return _canDefendAnywhere; } set { _canDefendAnywhere = value; RaisePropertyChanged("CanDefendAnywhere"); } }

        private bool _mustDefend = false;
        public bool MustDefend { get { return _mustDefend; } set { _mustDefend = value; RaisePropertyChanged("MustDefend"); } }

        #endregion Properties
    }
}
